package com.lanyou.esb.cook.proxy.auth.processor;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.lanyou.esb.cook.proxy.exception.AuthException;
import com.lanyou.esb.cook.proxy.meta.AuthType;
import com.lanyou.esb.cook.proxy.meta.IfType;

/**
 * 获取校验信息处理接口
 * 
 * @author Davey.wu
 */
public interface AcquireAuthProcessor {
	/**
	 * 获取校验类型
	 * 
	 * @return
	 */
	AuthType getAuthType();

	/**
	 * 获取接口类型
	 * 
	 * @return
	 */
	IfType getIfType();

	/**
	 * 获取校验信息
	 * 
	 * @param request
	 *            ：HTTP请求对象
	 * @param content
	 *            ：HTTP请求报文
	 * @param parameters
	 *            ：需要获取的参数
	 * @return
	 * @throws AuthException
	 * @throws Exception
	 */
	Map<String, Object> acquire(HttpServletRequest request, String content,
			Map<String, Boolean> parameters) throws AuthException, Exception;
}
